// miniprogram/pages/redeem/edit.js
Page({
  data: {
    isEdit: false,
    itemId: null,
    item: {
      name: '',
      description: '',
      detail: '',
      points: '',
      stock: '',
      category: '餐饮',
      image: '/images/redeem_default.png',
      status: 1
    },
    categories: ['餐饮', '娱乐', '通讯', '办公', '电子'],
    userInfo: {},
    isAuditor: false
  },

  onLoad(options) {
    const app = getApp()
    this.setData({
      userInfo: app.globalData.userInfo,
      isAuditor: app.globalData.isAuditor
    })
    
    // 检查是否为管理员/审核人
    if (!app.globalData.isAuditor) {
      wx.showToast({
        title: '无权限访问',
        icon: 'none'
      })
      setTimeout(() => {
        wx.navigateBack()
      }, 1500)
      return
    }
    
    if (options.id) {
      this.setData({
        isEdit: true,
        itemId: options.id
      })
      this.loadItem(options.id)
    }
  },

  loadItem(id) {
    // 模拟加载商品数据
    const item = {
      id: id,
      name: '星巴克咖啡券',
      description: '任意规格星巴克咖啡一杯',
      detail: '• 有效期：兑换后30天内有效\n• 使用方式：兑换成功后将获得电子券码，凭券码到店使用\n• 适用门店：全国星巴克门店（除机场店等特殊门店）\n• 注意事项：每张券码仅可使用一次，不可找零',
      points: 50,
      stock: 10,
      category: '餐饮',
      image: '/images/redeem_starbucks.png',
      status: 1
    }
    
    this.setData({ item })
  },

  onInput(e) {
    const field = e.currentTarget.dataset.field
    const value = e.detail.value
    this.setData({
      [`item.${field}`]: value
    })
  },

  onPickerChange(e) {
    const field = e.currentTarget.dataset.field
    const index = e.detail.value
    const value = this.data[`${field}s`][index]
    this.setData({
      [`item.${field}`]: value
    })
  },

  // 选择图片
  chooseImage() {
    wx.chooseImage({
      count: 1,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        // 模拟图片上传
        this.setData({
          'item.image': res.tempFilePaths[0]
        })
      }
    })
  },

  // 保存商品
  saveItem() {
    const { name, points, stock, description, detail } = this.data.item
    
    if (!name) {
      wx.showToast({
        title: '请输入商品名称',
        icon: 'none'
      })
      return
    }
    
    if (!points) {
      wx.showToast({
        title: '请输入积分值',
        icon: 'none'
      })
      return
    }
    
    if (!stock) {
      wx.showToast({
        title: '请输入库存数量',
        icon: 'none'
      })
      return
    }
    
    if (!description) {
      wx.showToast({
        title: '请输入商品描述',
        icon: 'none'
      })
      return
    }
    
    if (!detail) {
      wx.showToast({
        title: '请输入商品详情',
        icon: 'none'
      })
      return
    }
    
    // 模拟保存操作
    wx.showToast({
      title: this.data.isEdit ? '更新成功' : '添加成功',
      icon: 'success'
    })
    
    setTimeout(() => {
      wx.navigateBack()
    }, 1500)
  },

  // 删除商品
  deleteItem() {
    wx.showModal({
      title: '确认删除',
      content: '确定要删除这个商品吗？',
      success: (res) => {
        if (res.confirm) {
          // 模拟删除操作
          wx.showToast({
            title: '删除成功',
            icon: 'success'
          })
          
          setTimeout(() => {
            wx.navigateBack()
          }, 1500)
        }
      }
    })
  }
})